﻿using System;
using System.Collections.Generic;
using System.Text;

namespace WPFCABShell.Shell.Interface.Services.StatusBar
{
	/// <summary>
	/// Contains event data related to messages.
	/// </summary>
	public sealed class MessageEventArgs : StatusEventArgs
	{
		private readonly object _image;

		/// <summary>
		/// An empty <c>MessageEventArgs</c>.
		/// </summary>
		public static readonly new MessageEventArgs Empty = new MessageEventArgs(null, null);

		/// <summary>
		/// Gets a value indicating whether this <c>MessageEventArgs</c> is empty.
		/// </summary>
		public bool IsEmpty
		{
			get
			{
				return ((Text == null) && (Image == null));
			}
		}

		/// <summary>
		/// Gets the image for the message.
		/// </summary>
		public object Image
		{
			get
			{
				return _image;
			}
		}

		public MessageEventArgs(string text, object image)
			: base(text)
		{
			_image = image;
		}
	}
}
